package org.ichamigua.user.service;

import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ichihamigua.common.framework.entity.Result;
import org.ichihamigua.common.user.dto.*;
import org.ichihamigua.common.user.entity.UserInfoEntity;
import org.ichihamigua.common.user.vo.UserInfoVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author rainkyzhong
 * @date 2023/10/31 22:05
 */
public interface UserInfoService extends IService<UserInfoEntity> {
    Result<UserInfoVo> details(Long userId);

    Result<?> updatePersonalSignature(Long userId, UpdatePersonalSignatureDto dto);

    Result<?> updateGender(Long userId, UpdatePersonalGenderDto dto);

    UserInfoEntity getOne(Long userId, List<SFunction<UserInfoEntity, ?>> columns);

    UserInfoEntity getOne(Long userId);

    Result<?> updateBirthday(Long userId, UpdateBirthdayDto dto);

    Result<?> updateCity(Long userId, UpdateCityDto dto);


    Result<?> updateBackground(Long userId, MultipartFile file);
}
